为了账号安全,请及时绑定邮箱和手机立即绑定

取存过和函数的返回值

标签:
Java

目录

一、取函数的返回值

1.取函数的系统类型数据

2.取函数的自定义类型数据

3.取函数的自定义类型数据集合

二、取存储过程的返回值

1.取存过的系统类型数据

2.取存过的自定义类型数据

3.取存过的自定义类型数据集合

 

一、取函数的返回值

0.创建自定义类型

复制代码

--自定义类型create or replace type mytype as object(  str1 number,  str2 varchar2(10));--自定义类型集合create or replace type  mytype_list as table of mytype;

复制代码

 

1.取函数的系统类型数据

复制代码

--1函数 返回字符串create or replace function fun_ceshi1(num1 number, num2 number)  return varchar2 as  str1 varchar2(111);begin  str1 := '测试时。。。';  return str1;end;--取值select fun_ceshi1(1,1) from dual;

复制代码

 

2.取函数的自定义类型数据

复制代码

--2函数 返回自定义类型create or replace function fun_ceshi2(num1 number, num2 number)  return mytype as  my mytype;begin select mytype(ename1, ename2)   into my   from (select t.empno ename1, t.ename ename2 from emp t where rownum=1);  return my;end; --select fun_ceshi2(1,1) from dual;

复制代码

 

3.取函数的自定义类型数据集合

复制代码

--3函数 返回自定义类型集合create or replace function fun_ceshi3(num1 number, num2 number)  return mytype_list as  my mytype_list;begin select mytype(ename1, ename2) BULK COLLECT   into my   from (select t.empno ename1, t.ename ename2 from emp t);  return my;end; --select * from table(fun_ceshi3(1,1));

复制代码

 

二、取存储过程的返回值

1.取存过的系统类型数据

复制代码

--1存过 返回字符串create or replace procedure pro_ceshi1(num1 number,                                      num2 number,                                      num3 out varchar2) asbegin  select '字符串num' into num3 from dual;end;--调用declare  num3 varchar2(111);begin  pro_ceshi1(1, 1, num3); dbms_output.put_line(num3);end;

复制代码

 

2.取存过的自定义类型数据

复制代码

--2存过 返回自定义类型create or replace procedure pro_ceshi2(num1 number,                                      num2 number,                                      strType out mytype) asbegin  select mytype(ename1, ename2)   into strType   from (select t.empno ename1, t.ename ename2 from emp t where rownum=1);end;--调用declare  strType mytype;begin  pro_ceshi2(1, 1, strType);  dbms_output.put_line(strType.str1 || '  ' || strType.str2);end;

复制代码

 

3.取存过的自定义类型数据集合

复制代码

--3存过 返回自定义类型集合create or replace procedure pro_ceshi3(num1 number,                                      num2 number,                                      strType out mytype_list) asbegin   select mytype(ename1, ename2) BULK COLLECT   into strType   from (select t.empno ename1, t.ename ename2 from emp t);end;--调用declare  strType mytype_list;  cursor c_c is    select * from table(strType);begin  pro_ceshi3(1, 1, strType);  for v_r in c_c loop    dbms_output.put_line(v_r.str1 || '  ' || v_r.str2);  end loop;end;

复制代码

 

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消